//--------------------------------------------------------------------//
//  Clase creada automaticamente  -  miércoles, 23 de noviembre de 2011   //
//                                                                    //
//  Puede ser modificada, el generador no sobreescribe este archivo.  //
//--------------------------------------------------------------------//
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Collections.Generic;
using DataBaseManager;
using Utilities.Common;
using BL.DataAccess;

namespace BL.Entities
{
	public partial class ColeccionPrestaciones : List<Prestaciones>
	{
		//  Agregue su codigo aqui...

		public static ColeccionPrestaciones FindAll()
		{
			//return DataBase.Current.Load<ColeccionPrestaciones,Prestaciones>(Tables.Prestaciones);

            Prestaciones p;
            DataTable dt;
            ColeccionPrestaciones pM = new ColeccionPrestaciones();
            ParameterManager parameters = new ParameterManager();

          //  dt = DataBase.Current.ExecuteSQL("Select prest.IdPrestacion, prest.NumeroDePrestacion, prest.Detalle, p2o.NombreObra, p2o.precio from Prestaciones as prest, Prestaciones_ObraSocial as p2o where p2o.idprestacion = prest.IdPrestacion");
            dt = DataBase.Current.ExecuteSQL("Select  * from Prestaciones Order By IDPrestacion");
            foreach (DataRow dr in dt.Rows)
            {
                p = LoadRow(dr);
                pM.Add(p);
            }

            return pM;


		}
        private static Prestaciones  LoadRow(DataRow r)
        {
            Prestaciones p = null;
            if (r != null)
            {

                p = new Prestaciones();
                p.IdPrestacion =Int32.Parse( r["IdPrestacion"].ToString());
               // p.NombreObra = r["NombreObra"].ToString();                
                p.Detalle = r["Detalle"].ToString();
              //  p.NumeroDePrestacion = Int32.Parse(r["NumeroDePrestacion"].ToString());
              //  p.Precio = Double.Parse(r["precio"].ToString());                     

            }
            return p;
        }

        public static ColeccionPrestaciones  mCurrent;

        //public Prestaciones getByObraSocialNroPrestacion(string pOS, Int32 pNro) {

        //    foreach (var item in this)
        //    {

        //        if (item.NombreObra == pOS && item.NumeroDePrestacion == pNro )
        //        {

        //            return item;
        //        }
        //    }

        //    return null;
        
        //}
        //public  ColeccionPrestaciones  getByObraSocial(string pOS){
        //    ColeccionPrestaciones pM = new ColeccionPrestaciones();

        //    foreach (var item in this )
        //    {

        //        if (item.NombreObra == pOS) {

        //            pM.Add(item);
        //        }
        //    }

        //    return pM;
        //}
        public static ColeccionPrestaciones Current
        {
            get
            {
                if (mCurrent == null)
                {

                    mCurrent = ColeccionPrestaciones.FindAll();
                }
                return mCurrent ;
            }
            set { mCurrent = value; }        
        
        }

   

        //public  Prestaciones  FindByObraSocial_NroPrestacion(string Obra, Int32  nroPrestacion)
        //{
        //    Prestaciones p=null;
        //    foreach (var item in this)
        //    {
        //        if (item.NombreObra == Obra && item.NumeroDePrestacion == nroPrestacion) {
        //            p = item;
        //        }
        //    }
        //    return p;
        //}

        public Prestaciones FindByID(string p)
        {
            
            foreach (var item in this)
            {
                if (item.IdPrestacion.ToString() == p)
                {
                    return item;
                }
            }
            return null;
           
        }
    }
}
